package intercept;

public class DynamicDataSourceHolder {

    private static ThreadLocal<String> contextHolder = new ThreadLocal<String>();

    public final static String DB_MASTER = "master";

    public final static String DB_SLAVE = "slave";

    /**
     * 获取线程的数据源
     * @return
     */
    public static String getDataSourceType(){
        String db = contextHolder.get();
        if(db == null){
            //如果db为空则默认使用主库（因为主库支持读和写）  不是要读写分离吗，为什么
            db = DB_MASTER;
        }
        return db;
    }

    /**
     * 设置数据源
     * @param type
     */
    public static void setDataSourceType(String type) {
        contextHolder.set(type);
    }

    // 清理连接
    public static void clear(){
        contextHolder.remove();
    }

}
